package dpkg

import (
	"gitee.com/liumou_site/gcs"
)

// NewDpkg 创建一个新的 DpkgStruct 实例，并初始化其字段。
// 参数: sudo: 用于初始化的Sudo实例。
// realtime: 是否开启实时刷新执行命令过程。
// 返回值: *DpkgStruct: 返回一个初始化后的 DpkgStruct 指针。
func NewDpkg(sudo *gcs.ApiSudo, realtime bool) *DpkgStruct {
	n := new(DpkgStruct)
	n.Sudo = sudo
	n.Sudo.Realtime = realtime
	n.Info = false
	n.Debug = false
	n.Ignore = true     // 忽略标准输出
	n.BlackHole = false // 显示错误输出

	// 初始化 PackageInfo 和 PackageInfoList 字段
	n.PackageInfo = new(DebPackageInfo)
	n.PackageInfoList = make([]DebPackageInfo, 0)

	return n
}
